home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1994 March / Internet Info CD-ROM (Walnut Creek) (March 1994).iso / standards / iso / 9660 / rockridge / rrg.11 < prev    next >
Encoding:
Text File  |  1992-08-19  |  66.4 KB  |  2,651 lines

  1. # This is a shell archive.  Remove anything before this line,
  2. # then unpack it by saving it in a file and typing "sh file".
  3. #
  4. # Wrapped by Scott J. Norton <sjn@hpisod9> on Tue Jun 18 15:02:05 1991
  5. #
  6. # This archive contains:
  7. #    Makefile    format        title.nr    preface.nr    
  8. #    overview.nr    desc.nr        rrip.nr        api.begin.nr    
  9. #    api.cmd.nr    api.lib.nr    api.end.nr    bib.nr        
  10. #    TOC        
  11. #
  12.  
  13. LANG=""; export LANG
  14. PATH=/bin:/usr/bin:$PATH; export PATH
  15.  
  16. echo x - Makefile
  17. sed 's/^@//' >Makefile <<'@EOF'
  18. # Makefile for CDROM
  19. # Written by Scott Norton
  20. SHELL=/bin/sh
  21. # Delete all the built-in rules
  22. @.SUFFIXES :
  23.  
  24. SOURCE = format title.nr preface.nr overview.nr desc.nr rrip.nr api.begin.nr api.cmd.nr api.lib.nr api.end.nr bib.nr TOC
  25.  
  26. TROFF = /usr/bin/troff
  27.  
  28. irs:
  29.     cat $(SOURCE) | pic | tbl | $(TROFF) -mm
  30. print:
  31.     cat $(SOURCE) | pic | tbl | $(TROFF) -o12-14 -mm
  32. troff:
  33.     cat $(SOURCE) | pic | tbl | $(TROFF) -o17-20 -mm -rT1 > troff.out
  34. ci:
  35.     ci -l $(SOURCE)
  36.  
  37. shar:
  38.     shar Makefile $(SOURCE) > rrip.shar
  39.  
  40. revision:
  41.     @echo "The current revision number is:"
  42.     @fgrep Revision title.nr
  43.  
  44. wc:
  45.     @echo "\tThe number of lines of source are:\c"
  46.     @cat $(SOURCE)  | wc -l
  47. order:
  48.     @echo "The order of the files is ---"
  49.     @echo $(SOURCE) | tr " " "\012"
  50.  
  51. title:
  52.     cat format title.nr | tbl | $(TROFF) -mm
  53. preface:
  54.     cat format preface.nr | tbl | $(TROFF) -mm
  55. overview:
  56.     cat format overview.nr | tbl | $(TROFF) -mm
  57. desc:
  58.     cat format desc.nr | tbl | $(TROFF) -mm
  59. rrip:
  60.     cat format rrip.nr | pic | tbl | $(TROFF) -mm
  61. api:
  62.     cat format api.begin.nr api.cmd.nr api.lib.nr api.end.nr | tbl | $(TROFF) -mm
  63. bib:
  64.     cat format bib.nr | tbl | $(TROFF) -mm
  65.  
  66. @EOF
  67.  
  68. chmod 644 Makefile
  69.  
  70. echo x - format
  71. sed 's/^@//' >format <<'@EOF'
  72. @.nr O 1.2i
  73. @.nr W 6i
  74. @.PH ""        \" Supress the -1- page header on the first page
  75. @.\" The entire document uses fonts designated as numbers so the following
  76. @.\" three lines may be changed to change the "look" of the document.
  77. @.fp 1 R        \" This is the standard (i.e. non-Bold/Italic) font position
  78. @.fp 2 I        \" This is the Italic font position
  79. @.fp 3 B        \" This is the Bold font position
  80. @.fp 4 S        \" This is the HP logo
  81. @.nr P 0        \" Set first page to be page 1
  82. @.\" HF sets type for .H headings 3==bold, 2==italics for levels 1-7
  83. @.ds HF 3 3 3 3 3 3 3
  84. @.\" HF sets size for .H headings, for level 1-7
  85. @.ds HP 14 12 11 11 11 11 11
  86. @.nr Ej 1    \" Start level 1 headings on new page.
  87. @.nr Hb 6    \" Headings 7 & up are part of the following paragraph
  88. @.nr Hs 6    \" Headings 1-6 are automatically followed by blank line
  89. @.nr Hi 1    \" Indent text following heading like paragraph (default)
  90. @.nr Hc 0    \" No headings are centered (default)
  91. @.nr Hu 1    \" Unnumbered headings level 1 
  92. @.tr ~         \" Use ~ for unpaddable space character
  93. @.ad b        \" Right-justify on
  94. @.nr Hy 0    \" No hyphenation
  95. @.nr Pi 5    \" Indent paragraphs 5 spaces
  96. @.nr Pt 1    \" Indent paragraphs Pi spaces
  97. @.nr Cl 6    \" Save first 6 heading levels for table of contents
  98. @.\" Set up global formatting stuff
  99. @.in 0i
  100. @.ll 6i
  101. @.vs 12p
  102. @.pl 10.5i
  103. @.ps 10
  104. @.\" Set up the page count as if no coversheet will be added.  If there is
  105. @.\" one added, it will override .nr PC to be one more than the amount below.
  106. @.nr PC 41
  107. @.\" Set this flag to be 0 (no coversheet), if a coversheet is there, it
  108. @.\" will override it.
  109. @.nr CS 0
  110. @EOF
  111.  
  112. chmod 644 format
  113.  
  114. echo x - title.nr
  115. sed 's/^@//' >title.nr <<'@EOF'
  116. @~
  117. @.sp |2.5i
  118. @.ce 17
  119. @.ps 25
  120. @.ft 3
  121. ROCK RIDGE INTERCHANGE 
  122.  
  123.  
  124. PROTOCOL
  125. @.ps 20
  126. @.ft 3
  127.  
  128.  
  129. VERSION 1
  130. @.sp 80p
  131. @.ps 20
  132. @.ft 3
  133. AN IS0 9660:1988 COMPLIANT APPROACH
  134.  
  135. TO PROVIDING ADEQUATE CD-ROM SUPPORT
  136.  
  137. FOR POSIX FILE SYSTEM SEMANTICS
  138. @.sp 80p
  139. @.ps 16
  140. @.ft 3
  141. ROCK RIDGE TECHNICAL 
  142.  
  143. WORKING GROUP
  144. @.ps 12
  145. @.ft 1
  146. @.sp 3v
  147. Revision 1.09
  148. @.sp 3v
  149. @.\" Put names of authors here, if any
  150. cdtec@dgdo.Eng.Sun.COM
  151. @.ps 14
  152. @.sp 3v
  153. PROPOSAL
  154. @.bp
  155. @.\"
  156. @.\" If no coversheet, set up odd/even different headers & footers
  157. @.\" else set up the same headers & footers
  158. @.ie \n(CS \{\
  159. @.   OH "'Rock Ridge Group''Rock Ridge Interchange Protocol'" 
  160. @.   EH "'Rock Ridge Group''Rock Ridge Interchange Protocol'" 
  161. @.   bp
  162. @.   OF "'\\*(DT'                     'Page \\\\nP of \\\\n(PC'"
  163. @.   EF "'\\*(DT'                     'Page \\\\nP of \\\\n(PC'" \}
  164. @.el \{\
  165. @.   OH "'Rock Ridge Group''Rock Ridge Interchange Protocol'" 
  166. @.   EH "'Rock Ridge Interchange Protocol''Rock Ridge Group'"
  167. @.   bp
  168. @.   OF "'\\*(DT'                     'Page \\\\nP of \\\\n(PC'"
  169. @.   EF "'Page \\\\nP of \\\\n(PC'                     '\\*(DT'" \}
  170. @.rs
  171.  
  172. @.ce
  173. ( This page should be replaced with a blank page for back of title )
  174. @.bp
  175.  
  176. @.ce
  177. ( This page should be replaced with the Table of Contents )
  178. @.bp
  179.  
  180. @.ce
  181. ( This page should be replaced with a blank page for back of TOC )
  182. @.bp
  183.  
  184. @.ce
  185. ( This page should be replaced with the List of Tables  )
  186. @.bp
  187.  
  188. @.ce
  189. ( This page should be replaced with a blank page for back of Tables )
  190. @EOF
  191.  
  192. chmod 644 title.nr
  193.  
  194. echo x - preface.nr
  195. sed 's/^@//' >preface.nr <<'@EOF'
  196. @.pn 1
  197. @.sp
  198. @.H 1 "PREFACE"
  199. @.sp
  200. @.H 2 "Purpose and Scope"
  201. @.sp
  202. Producers and users of POSIX compliant systems and software have faced a
  203. significant, yet artificial, barrier to their effectively using CD-ROM
  204. technology for software distribution and information publishing --
  205. ISO 9660:1988 alone provides inadequate support for delivery of POSIX 
  206. file system information. 
  207. The Rock Ridge Group was formed to generate a 
  208. proposed standard for utilizing the System Use Areas provided by the 
  209. ISO 9660 standard to record complete POSIX file system semantics.
  210. This proposal utilizes the System Use Sharing Protocol for recording this 
  211. information.
  212. @.sp
  213. @.H 2 "Summary of Sections"
  214. @.sp
  215. @.TS
  216. center;
  217. l l.
  218. Section 1    Contains this preface.
  219. Section 2    Contains an overview of the Rock Ridge Interchange Protocol.
  220. Section 3    Contains an overview of the notation used in this document.
  221. Section 4    Contains the Rock Ridge Interchange Protocol.
  222. Section 5    Contains the RRIP Application Programming Interface.
  223. Section 6    Contains the bibliography.
  224. @.TE
  225. @.bp
  226. @.\" Blank page for back of this chapter
  227. @.ce 
  228.        
  229.         
  230.        
  231.          
  232. @EOF
  233.  
  234. chmod 644 preface.nr
  235.  
  236. echo x - overview.nr
  237. sed 's/^@//' >overview.nr <<'@EOF'
  238. @.sp
  239. @.H 1 "OVERVIEW"
  240. @.sp
  241. The Rock Ridge Interchange Protocol (RRIP) specifies an extension to the
  242. ISO 9660 format for CD-ROM which enables the recording of POSIX File
  243. System semantics.
  244. The RRIP utilizes the System Use Sharing Protocol (SUSP) to specify
  245. the definition of a set of System Use Fields for this purpose.
  246. @.sp
  247. The RRIP specifies the definition of a set of System Use Fields for 
  248. recording:
  249. @.sp
  250. @.VL 15
  251. @.BL
  252. @.LI
  253. uid, gid, and permissions
  254. @.LI
  255. file mode bits, file types, setuid, setgid, and sticky bit
  256. @.LI
  257. file links
  258. @.LI
  259. device nodes
  260. @.LI
  261. symbolic links
  262. @.LI
  263. POSIX file names
  264. @.LI
  265. reconstruction of deep directories
  266. @.LI
  267. time stamps
  268. @.LE
  269. @.bp
  270. @.\" Blank page for back of this chapter
  271. @.ce 
  272.        
  273.         
  274.        
  275.          
  276. @EOF
  277.  
  278. chmod 644 overview.nr
  279.  
  280. echo x - desc.nr
  281. sed 's/^@//' >desc.nr <<'@EOF'
  282. @.sp
  283. @.H 1 "TERMINOLOGY AND NOTATION"
  284. @.sp
  285. It is assumed that the RRIP is being recorded within an ISO 9660:1988
  286. compliant volume using the System Use Sharing Protocol (SUSP:1991A).
  287. Unless defined herein, or otherwise specified, terms shall be as defined
  288. in ISO 9660:1988 or SUSP:1991A.
  289. @.sp
  290. The following notation is used in this document.
  291. @.sp
  292. @.H 2 "Decimal and Hexadecimal Notation"
  293. @.sp
  294. Numbers in decimal notation are represented by decimal digits, namely
  295. 0 to 9.
  296. @.sp
  297. Numbers in hexadecimal notation are represented by hexadecimal digits,
  298. namely 0 to 9 and A to F, shown in parentheses. 
  299. E.g. the hexadecimal number 7F will be written as (7F).
  300. @.sp
  301. @.H 2 "File Naming Conventions"
  302. @.sp
  303. In all fields defined in ISO 9660:1988, the character set to be used
  304. shall be as specified in ISO 9660.
  305. The character set to be used in the System Use Fields defined herein
  306. shall depend upon whether the fields are recorded in a directory tree
  307. associated with a Primary Volume Descriptor or a Supplementary Volume
  308. Descriptor.
  309. @.sp
  310. @.H 3 "Primary Volume Descriptor File Naming Convention"
  311. @.sp
  312. Within a directory tree identified by a Primary Volume Descriptor of
  313. an ISO 9660 volume, the character set used in the System Use Fields
  314. defined for the RRIP shall be the ISO Standard 8859-1:1987, as
  315. specified in the X/Open Portability Guide Issue 3, XSI Supplementary
  316. Definitions.
  317. For general portability across most POSIX compatible systems, the 
  318. 7-bit U.S. ASCII character set should be used.
  319. @.sp
  320. The POSIX File Naming Convention states that the filename may be
  321. composed of any character except slash (2F) and the null byte (00).
  322. The special filename, dot (2E), refers to the directory specified
  323. by its predecessor.
  324. The special filename dot-dot (2E)(2E), refers to the parent directory 
  325. of its predecessor directory.
  326. @.sp
  327. For maximum portability across implementations conforming to the
  328. POSIX Standard, filenames should only contain the following characters:
  329. @.sp
  330. @.TS
  331. center;
  332. l l.
  333. (41) thru (5A)    \'A\' thru \'Z\'
  334. (61) thru (7A)    \'a\' thru \'z\'
  335. (30) thru (39)    \'0\' thru \'9\'
  336. (2E)    period
  337. (5F)    underscore
  338. (2D)    hyphen
  339. @.TE
  340. @.sp
  341. Upper and lower case letters shall retain their unique identities
  342. between conforming implementations.
  343. @.sp
  344. @.H 3 "Supplementory Volume Descriptor File Naming Convention"
  345. @.sp
  346. Within a directory tree identified by a Supplementary Volume Descriptor
  347. of an ISO 9660 volume, the character set used in the System Use Fields
  348. defined for the RRIP shall be the coded graphic character set(s) identified by
  349. the escape sequence(s) in the Supplementary Volume Descriptor
  350. (c-characters, section 7.4.2, ISO 9660:1988).
  351. @.sp
  352. @.H 2 "Reader Makes Right"
  353. @.sp
  354. Receiving systems which are capable of interpreting the System Use Fields
  355. defined herein, but which cannot handle the full extent of the file naming
  356. convention utilized by this specification may have to restrict themselves
  357. to the use of the ISO 9660 compliant file names stored in the File Identifier
  358. field of the ISO 9660 directory structure.
  359. @.sp
  360. Alternatively, the developer of the receiving system may choose to provide
  361. file name conversion capability.
  362. Any such system must provide unique names for all unique files on the disc.
  363. @.sp
  364. In general, whenever there is recorded a (potentially) system-specific
  365. identifier or numerical value, accomplishing any necessary modifications
  366. or mapping of these are the responsibility of the receiving system.
  367. This document provides for an Application Programming Interface (API)
  368. to support this function.
  369. @.sp
  370. @EOF
  371.  
  372. chmod 644 desc.nr
  373.  
  374. echo x - rrip.nr
  375. sed 's/^@//' >rrip.nr <<'@EOF'
  376. @.sp
  377. @.H 1 "ROCK RIDGE INTERCHANGE PROTOCOL"
  378. @.sp
  379. The Rock Ridge Interchange Protocol (RRIP) utilizes System Use Areas
  380. provided by ISO 9660:1988.
  381. The System Use Area of the Directory Record is used to record the POSIX
  382. file system information.
  383. The System Use Sharing Protocol is used for recording information in
  384. each of these areas.
  385. @.sp
  386. @.H 2 "System Use Fields Provided by this Specification"
  387. @.sp
  388. The Rock Ridge Interchange Protocol defines the following fundamental 
  389. System Use Fields:
  390. @.sp
  391. @.TS
  392. center;
  393. l l.
  394. "PX"    POSIX file attributes
  395. "PN"    POSIX device modes
  396. "SL"    Symbolic link
  397. "NM"    Alternate name
  398. "CL"    Child link
  399. "PL"    Parent link
  400. "RE"    Relocated directory
  401. "TF"    Time stamp(s) for a file
  402. "RR"    Flags indicating which fields are recorded
  403. @.TE
  404. @.sp
  405. Additionally, this specification provides required identification information
  406. to be recorded in an "ER" (Extensions Reference) System Use Field for the
  407. purpose of identifying discs on which the Rock Ridge Interchange Protocol
  408. is implemented.
  409. @.sp
  410. @.H 3 "Description of the PX System Use Field"
  411. @.sp
  412. Recording of the "PX" System Use Field in the System Use Area of
  413. each ISO 9660 directory record shall be mandatory.
  414. No more than one
  415. "PX" System Use Field shall appear in (all) the System Use Area(s) for
  416. a single directory record.
  417. @.sp
  418. If the file type in a directory record is of type directory, then
  419. the POSIX File Mode Field ([BP 4] in this section) and File Flags (ISO
  420. 9660 Format section 9.1.6) should both indicate such, with the
  421. exception of relocated directories, indicated by a "CL" field (section
  422. 3.1.5.1), for which the ISO file flags shall indicate a normal file,
  423. but the POSIX File Mode Field shall indicate a directory.
  424. @.sp
  425. The format of the "PX" System Use Field is as follows:
  426. @.sp
  427. @.VL 10 5
  428. @.LI "[1]"
  429. "BP 1 to BP 2 - Signature Word" shall indicate that the System Use Field
  430. is a "PX" type System Use Field.
  431. The bytes in this field shall be (50)(58) ("PX").
  432. @.LI "[2]"
  433. "BP 3 - Length" shall specify as an 8-bit number the length in
  434. bytes of the "PX" System Use Field.
  435. The number in this field shall be 36 for this version.
  436. This field shall be recorded according to ISO 9660:1988 Format 
  437. section 7.1.1.
  438. @.bp
  439. @.LI "[3]"
  440. "BP 4 - System Use Field Version" shall specify as an 8-bit number an
  441. identification of the version of the "PX" System Use Field.
  442. The number in this field shall be 1 for this version.
  443. This field shall be recorded according to ISO 9660:1988 Format
  444. section 7.1.1.
  445. @.LI "[4]"
  446. "BP 5 to BP 12 - POSIX File Mode" has the same meaning as the st_mode
  447. defined in the header sys/stat.h by the IEEE Std 1003.1-1988.
  448. This field shall be recorded according to ISO 9660:1988 Format 
  449. section 7.3.3.
  450. The valid mask values for this field are combinations of the following:
  451. @.sp
  452. @.TS
  453. center;
  454. l l.
  455. Octal Value       Meaning
  456. \_    \_
  457. 0000400          read permission (owner)
  458. 0000200          write permission (owner)
  459. 0000100           execute permission (owner)
  460. 0000040          read permission (group)
  461. 0000020          write permission (group)
  462. 0000010          execute permission (group)
  463. 0000004          read permission (other)
  464. 0000002          write permission (other)
  465. 0000001          execute permission (other)
  466.       
  467. 0004000          set user ID on execution
  468. 0002000         set group ID on execution
  469. 0002000          enforced file locking (shared w/ set group ID)
  470. 0001000          save swapped text even after use
  471.       
  472. 0170000          type of file
  473. 0140000          socket
  474. 0120000          symbolic link
  475. 0100000          regular
  476. 0060000          block special
  477. 0020000          character special
  478. 0040000          directory
  479. 0010000          pipe or FIFO
  480. @.TE
  481. @.sp
  482. @.LI "[5]"
  483. "BP 13 to BP 20 - POSIX File Links" has the same meaning as the
  484. st_nlink defined in the header sys/stat.h by the IEEE Std 1003.1-1988.
  485. If the file type described by the directory record is a
  486. directory, the value in this field shall equal the number of
  487. directories in the directory described by this directory record
  488. (i.e. any directory record which has the "directory" bit set,
  489. including the "." and ".." records).
  490. Otherwise, it shall be 1.
  491. This field shall be recorded according to ISO 9660:1988 Format section 7.3.3.
  492. @.LI "[6]"
  493. "BP 21 to BP 28 - POSIX File User ID" has the same meaning as the
  494. st_uid defined in the header sys/stat.h by the IEEE Std 1003.1-1988.
  495. This field shall be recorded according to ISO 9660:1988 Format section 7.3.3.
  496. @.bp
  497. @.LI "[7]"
  498. "BP 29 to BP 36 - POSIX File Group ID" has the same meaning as the
  499. st_gid defined in the header sys/stat.h by the IEEE Std 1003.1-1988.
  500. This field shall be recorded according to ISO 9660:1988 Format section 7.3.3.
  501. @.sp
  502. @.sp
  503. @.TB "PX System Use Field - Version 1"
  504. @.TS
  505. center,box;
  506. c | c | c | c | c | c.
  507.                      
  508. 'P'    'X'    LENGTH    1    FILE MODE    LINKS
  509. (BP1)    (BP2)    (BP3)    (BP4)    (BP5 to BP12)    (BP13 to BP20)
  510.                      
  511. @.TE
  512. @.sp
  513. @.TS
  514. center,box;
  515. c | c.
  516.       
  517. USER ID    GROUP ID
  518. (BP21 to BP28)    (BP29 to BP36)
  519.       
  520. @.TE
  521. @.sp
  522. @.sp
  523. @.sp
  524. @.H 3 "Description of the PN System Use Field
  525. @.sp
  526. This field is mandatory if the file type recorded in the "PX"
  527. File Mode field for the given directory record indicates a character or block
  528. device.
  529. This field, if present, should be ignored for all other file types.
  530. No more than one "PN" System Use Field shall appear in (all)
  531. the System Use Area(s) for a single directory record.
  532. @.sp
  533. If the receiving system records device numbers as 32-bit numbers,
  534. only the "Dev_t Low" field shall be used. 
  535. If the receiving system records device numbers as 64-bit numbers,
  536. the "Dev_t High" and "Dev_t Low" fields shall be concatenated to make
  537. one 64-bit number. 
  538. @.sp
  539. The format of the "PN" System Use Field is as follows:
  540. @.sp
  541. @.VL 10 5
  542. @.LI "[1]"
  543. "BP 1 to BP 2 - Signature Word" shall indicate that the System Use Field
  544. is a "PN" type System Use Field.
  545. The bytes in this field shall be (50)(4E) ("PN").
  546. @.LI "[2]"
  547. "BP 3 - Length" shall specify as an 8-bit number the length in
  548. bytes of the "PN" System Use Field.
  549. The number in this field shall be 20 for this version.
  550. This field shall be recorded according to ISO 9660:1988 Format 
  551. section 7.1.1.
  552. @.LI "[3]"
  553. "BP 4 - System Use Field Version" shall specify as an 8-bit number an
  554. identification of the version of the "PN" System Use Field.
  555. The number in this field shall be 1 for this version.
  556. This field shall be recorded according to ISO 9660:1988 Format
  557. section 7.1.1.
  558. @.bp
  559. @.LI "[4]"
  560. "BP 5 to BP 12 - Dev_t High" shall contain as a 32-bit number
  561. the high order 32 bits of the device number.
  562. If the receiving system records device numbers as 32-bit numbers this field
  563. shall be zero and ignored.
  564. This field shall be recorded according to ISO 9660:1988 Format section 7.3.3.
  565. @.LI "[5]"
  566. "BP 13 to BP 20 - Dev_t Low" shall contain as a 32-bit number
  567. the low order 32-bits of the device number.
  568. This field shall be recorded according to ISO 9660:1988 Format section 7.3.3.
  569. @.LE
  570. @.sp
  571. @.sp
  572. @.TB "PN System Use Field - Version 1"
  573. @.TS
  574. center,box;
  575. c | c | c | c | c | c.
  576.                      
  577. 'P'    'N'    20    1    DEV_T HIGH    DEV_T LOW
  578. (BP1)    (BP2)    (BP3)    (BP4)    (BP5 to BP12)    (BP13 to BP20)
  579.                      
  580. @.TE
  581. @.sp
  582. @.sp
  583. @.sp
  584. @.H 3 "Description of the SL System Use Field"
  585. @.sp
  586. The purpose of the "SL" System Use Field is to store the content
  587. of a symbolic link.
  588. This System Use Field is mandatory if the file
  589. type recorded in the "PX" File Mode field for the given directory record
  590. indicates a symbolic link.
  591. For other file types, this System Use Field should be ignored.
  592. If the receiving system does not support symbolic links the system should
  593. invoke "Reader-Makes-Right".
  594. @.sp
  595. If the file type recorded in the "PX" File Mode field for the given directory 
  596. record indicates a symbolic link, the directory record shall point to a file,
  597. the contents of which are not specified by this document.
  598. @.sp
  599. If more than one "SL" System Use Field is recorded in the System
  600. Use Area(s) for a single directory record, the Component Area (see 
  601. section 4.1.3.1
  602. below) of each should be concatenated together, in the order in which
  603. they were recorded, until a CONTINUE flag with value zero is
  604. encountered (see [4] below), to obtain the entire set of Component
  605. Records for the symbolic link.
  606. @.sp
  607. The method of recording is system independent.
  608. Under reader makes right, the receiving system is responsible for supplying
  609. appropriate values and/or notations for the component delimiter and
  610. special cases provided for below.
  611. @.sp
  612. @.bp
  613. The format of the "SL" System Use Field is as follows:
  614. @.sp
  615. @.VL 10 5
  616. @.LI "[1]"
  617. "BP 1 to BP 2 - Signature Word" shall indicate that the System Use Field
  618. is a "SL" type System Use Field.
  619. The bytes in this field shall be (53)(4C) ("SL").
  620. @.LI "[2]"
  621. "BP 3 - Length (LEN_SL)" shall specify as an 8-bit number the length in
  622. bytes of the "SL" System Use Field.
  623. The number in this field shall be 5 plus the length of the Component
  624. Area recorded in this "SL" field.
  625. This field shall be recorded according to ISO 9660:1988 Format 
  626. section 7.1.1.
  627. @.LI "[3]"
  628. "BP 4 - System Use Field Version" shall specify as an 8-bit number an
  629. identification of the version of the "SL" System Use Field.
  630. The number in this field shall be 1 for this version.
  631. This field shall be recorded according to ISO 9660:1988 Format
  632. section 7.1.1.
  633. @.LI "[4]"
  634. "BP 5 - Flags" shall contain bit field flags numbered 0
  635. to 7 starting with the least significant bit as follows:
  636. @.sp
  637. @.TS
  638. center;
  639. c c l.
  640. Position    Name    Interpretation if set to 1
  641. \_    \_    \_
  642. 0    CONTINUE    This Symbolic Link continues in next "SL"
  643. all others    RESERVED    value must be 0
  644. @.TE
  645. @.sp
  646. @.LI "[5]"
  647. "BP 6 to LEN_SL - Component Records" shall contain Component Records
  648. (described below).
  649. @.LE
  650. @.sp
  651. @.sp
  652. @.TB "SL System Use Field - Version 1"
  653. @.TS
  654. center,box;
  655. c | c | c | c | c | c.
  656.                           
  657. 'S'    'L'    LENGTH    1    FLAGS    COMPONENT RECORDS
  658. (BP1)    (BP2)    (BP3)    (BP4)    (BP5)    (BP6 to LEN_SL)
  659.                           
  660. @.TE
  661. @.sp
  662. @.sp
  663. @.sp
  664. @.H 4 "Description of the SL System Use Field Component Record"
  665. @.sp
  666. Within a "SL" System Use Field, each component of the pathname shall
  667. be recorded as one or more component records.
  668. A component does not contain the component separator (/ in POSIX).
  669. Recording a single component of a symbolic
  670. link may require multiple Component Records.
  671. If the component is greater than 255 bytes or will not fit into the current
  672. System Use Area or Continuation Area more than one Component Record will be
  673. recorded for the component.
  674. Multiple Component Records, specifying one or more separate components 
  675. of the symbolic link may be recorded in the Component Area of a 
  676. single "SL" field.
  677. @.sp
  678. If a single Component Record is used to record a single component of a
  679. symbolic link, the CONTINUE flag must be set to zero.
  680. If multiple Component Records are used to record a single
  681. component of a symbolic link, the CONTINUE flag must be set to one in
  682. each Component Record except the last and zero in the last Component
  683. Record recording the given component.
  684. @.sp
  685. Component Records shall be recorded contiguously within each
  686. Component Area, starting in the first byte of each Component Area.
  687. The last Component Record in the Component Area of an "SL" field may
  688. be continued in the Component Area of the next recorded "SL" field.
  689. @.sp
  690. Each Component Record shall have the following format:
  691. @.sp
  692. @.VL 10 5
  693. @.LI "[A]"
  694. "BP 1 - Component Flags" shall contain bit field flags numbered 0
  695. to 7 starting with the least significant bit as follows:
  696. @.sp
  697. @.TS
  698. center;
  699. c c l.
  700. Position    Name    Interpretation if set to 1
  701. \_    \_    \_
  702. 0    CONTINUE    Component recorded in this "SL" continues
  703.           in next "SL" Component Record
  704. 1    CURRENT    Component refers to the current directory 
  705.           (. in POSIX)
  706. 2    PARENT    Component refers to the parent of the 
  707.           current directory (.. in POSIX)
  708. 3    ROOT    Component refers to the root of the current 
  709.           directory tree for this process (/ in POSIX)
  710. 4    VOLROOT    Component refers to the directory the
  711.           current CD-ROM volume is mounted on
  712. 5    HOST    The local host name should be inserted as 
  713.           the value of the current component
  714. all others    RESERVED    value must be 0
  715. @.TE
  716. @.sp
  717. Bits 1 - 7 are mutually exclusive.
  718. @.sp
  719. @.LI "[B]"
  720. "BP 2 - Component Length (LEN_CP)" shall specify as an 8-bit number the
  721. length in bytes of the (portion of) the component recorded in the
  722. current Component Record.
  723. This length shall not include the Component Record Flags byte or Length byte.
  724. If any of the 
  725. 2\s-1\u1\d\s0 thru 2\s-1\u5\d\s0
  726. bits are set, the value of this field shall be zero.
  727. This field shall be recorded according to ISO 9660:1988 Format section 7.1.1.
  728. @.sp
  729. @.LI "[C]"
  730. "BP 3 to 2 + LEN_CP - Component" shall contain (the portion of) the component
  731. recorded in the current Component Record.
  732. The content of this field shall be recorded according to section 3.2 above.
  733. @.LE
  734. @.sp
  735. @.sp
  736. @.TB "SL System Use Field - Component Record"
  737. @.TS
  738. center,box;
  739. c | c | c.
  740.            
  741. COMP_FLAGS    COMP_LEN    COMPONENT
  742. (BP1)    (BP2)    (BP3 to 2+LEN_CP)
  743.            
  744. @.TE
  745. @.sp
  746. @.sp
  747. @.bp
  748. @.sp
  749. @.H 3 "Description of the NM System Use Field"
  750. @.sp
  751. The purpose of the "NM" System Use Field is to store the content
  752. of an Alternate Name to support POSIX-style or other names.
  753. This System Use Field is optional.
  754. If no "NM" field(s) are recorded for a
  755. specific directory record, the ISO 9660 file identifier shall be used.
  756. @.sp
  757. If more than one "NM" System Use Field appears in (all) the
  758. System Use Area(s) for a single directory record, the contents ([5]
  759. below) of each should be concatenated together, in the order in which
  760. they were recorded, until a CONTINUE flag with value zero is
  761. encountered (see [4] below), to obtain the entire Alternate Name.
  762. @.sp
  763. "NM" System Use Fields recorded for the ISO 9660 directory
  764. records with names (00) and (01), used to designate the current and
  765. parent directories, respectively, should be ignored.
  766. Instead, the receiving system should convert these names to the appropriate
  767. receiving system-dependent designations for the current and parent
  768. directories.
  769. @.sp
  770. No sorting of the directory records by Alternate Names is
  771. specified by the RRIP, nor can one necessarily be imposed by
  772. originating systems or assumed by receiving systems.
  773. The ISO 9660 specifies a sorting order based upon the ISO 9660 file 
  774. identifier (see ISO 9660:1988, section 9.3).
  775. @.sp
  776. The format of the "NM" System Use Field is as follows:
  777. @.sp
  778. @.VL 10 5
  779. @.LI "[1]"
  780. "BP 1 to BP 2 - Signature Word" shall indicate that the System Use Field
  781. is a "NM" type System Use Field.
  782. The bytes in this field shall be (4E)(4D) ("NM").
  783. @.LI "[2]"
  784. "BP 3 - Length (LEN_NAM)" shall specify as an 8-bit number the length in
  785. bytes of the "NM" System Use Field.
  786. The number in this field shall be 5 plus the length (of the portion)
  787. of the Alternate Name recorded in this "NM" field.
  788. This field shall be recorded according to ISO 9660:1988 Format 
  789. section 7.1.1.
  790. @.LI "[3]"
  791. "BP 4 - System Use Field Version" shall specify as an 8-bit number an
  792. identification of the version of the "NM" System Use Field.
  793. The number in this field shall be 1 for this version.
  794. This field shall be recorded according to ISO 9660:1988 Format
  795. section 7.1.1.
  796. @.bp
  797. @.LI "[4]"
  798. "BP 5 - Flags" shall contain bit field flags numbered 0
  799. to 7 starting with the least significant bit as follows:
  800. @.sp
  801. @.TS
  802. center;
  803. c c l.
  804. Position    Name    Interpretation if set to 1
  805. \_    \_    \_
  806. 0    CONTINUE    Alternate Name continues in next "NM"
  807.           field
  808. 1    CURRENT    Alternate Name refers to the current
  809.           directory (. in POSIX)
  810. 2    PARENT    Alternate Name refers to the parent of
  811.           the current directory (.. in POSIX)
  812. 3    RESERVED    value must be 0
  813. 4    RESERVED    value must be 0
  814.           of the current CD-ROM volume
  815. 5    HOST    The local host name should be inserted as 
  816.           the value of the Alternate Name
  817. all others    RESERVED    value must be 0
  818. @.TE
  819. @.sp
  820. Bits 1 - 7 are mutually exclusive.
  821. @.sp
  822. @.LI "[5]"
  823. "BP 6 to LEN_NAM - Alternate Name" shall contain (a portion of) the 
  824. content of the Alternate Name.
  825. The content of this field shall be recorded according to section 3.2 above.
  826. @.LE
  827. @.sp
  828. @.sp
  829. @.TB "NM System Use Field - Version 1"
  830. @.TS
  831. center,box;
  832. c | c | c | c | c | c.
  833.                           
  834. 'N'    'M'    LENGTH    1    FLAGS    ALTERNATE NAME
  835. (BP1)    (BP2)    (BP3)    (BP4)    (BP5)    (BP6 to LEN_NAM)
  836.                           
  837. @.TE
  838. @.sp
  839. @.sp
  840. @.sp
  841. @.H 3 "System Use Fields for Handling Deep Directory Trees"
  842. @.sp
  843. The ISO 9660:1988 mandates directory depths of no more than eight levels.
  844. Deeper directories must be reorganized to be recorded under the ISO 9660.
  845. The RRIP includes definitions of three System Use
  846. Fields to support logical reconstruction of deep directory trees while
  847. retaining complete ISO 9660 compliance.
  848. @.sp
  849. For each specific directory, either all three of the following
  850. fields must be appropriately recorded, or none shall be recorded.
  851. @.sp
  852. Table 9 and Table 10 at the end of this section have graphical examples
  853. of Deep Directory Trees.
  854. @.bp
  855. @.H 4 "Description of the CL System Use Field"
  856. @.sp
  857. The purpose of the "CL" System Use Field is to record the new
  858. location of a directory which has been relocated.
  859. The field contains the Logical Block number of the Logical Sector in which 
  860. the first directory record of the moved Directory is stored.
  861. @.sp
  862. The "CL" System Use Field is optional.
  863. If recorded, a "CL" System Use Field shall be recorded in the System Use 
  864. Area of a ISO 9660 directory record which describes a file which has the 
  865. same name as, and occupies the original position in the ISO 9660 directory tree
  866. of, the moved Directory.
  867. No more than one "CL" System Use Field shall appear in (all) the System Use 
  868. Area(s) for a single directory record.
  869. @.sp
  870. Except for the ISO 9660 name, the Alternate Name (recorded in an
  871. "NM" System Use Field), and the new location of the Directory, all
  872. other information stored in the directory for this file should
  873. be ignored.
  874. The contents of this file are not specified by this document.
  875. All attributes of the moved Directory shall be recorded in the first directory 
  876. record ("dot" entry) of the moved Directory in its new location.
  877. @.sp
  878. The format of the "CL" System Use Field is as follows:
  879. @.sp
  880. @.VL 10 5
  881. @.LI "[1]"
  882. "BP 1 to BP 2 - Signature Word" shall indicate that the System Use Field
  883. is a "CL" type System Use Field.
  884. The bytes in this field shall be (43)(4C) ("CL").
  885. @.LI "[2]"
  886. "BP 3 - Length" shall specify as an 8-bit number the length in
  887. bytes of the "CL" System Use Field.
  888. The number in this field shall be 12 for this version.
  889. This field shall be recorded according to ISO 9660:1988 Format 
  890. section 7.1.1.
  891. @.LI "[3]"
  892. "BP 4 - System Use Field Version" shall specify as an 8-bit number an
  893. identification of the version of the "CL" System Use Field.
  894. The number in this field shall be 1 for this version.
  895. This field shall be recorded according to ISO 9660:1988 Format
  896. section 7.1.1.
  897. @.LI "[4]"
  898. "BP 5 to BP 12 - Location of Child Directory" shall specify as a
  899. 32-bit number the Logical Block Number of the first Logical Block
  900. allocated to the moved directory.
  901. This field shall be recorded according to ISO 9660:1988 Format section 7.3.3.
  902. @.LE
  903. @.sp
  904. @.sp
  905. @.TB "CL System Use Field - Version 1"
  906. @.TS
  907. center,box;
  908. c | c | c | c | c.
  909.                      
  910. 'C'    'L'    12    1    LOC of CHILD DIRECTORY
  911. (BP1)    (BP2)    (BP3)    (BP4)    (BP5 to BP12)
  912.                      
  913. @.TE
  914. @.sp
  915. @.sp
  916. @.bp
  917. @.sp
  918. @.H 4 "Description of the PL System Use Field"
  919. @.sp
  920. The purpose of the "PL" System Use Field is to record the
  921. location of the original parent Directory of a Directory which has
  922. been relocated.
  923. The field contains the Logical Block number of the
  924. Logical Sector in which the first directory record of the original
  925. parent Directory of said moved Directory is stored.
  926. @.sp
  927. For each moved Directory which is recorded using a "CL" System
  928. Use Field, a corresponding "PL" System Use Field is required.
  929. The "PL" System Use Field shall be recorded in the System Use Area of the
  930. second directory record ("dot-dot" entry) of the moved Directory.
  931. No more than one "PL" System Use Field shall appear in (all) the System
  932. Use Area(s) for a single directory record.
  933. @.sp
  934. The format of the "PL" System Use Field is as follows:
  935. @.sp
  936. @.VL 10 5
  937. @.LI "[1]"
  938. "BP 1 to BP 2 - Signature Word" shall indicate that the System Use Field
  939. is a "PL" type System Use Field.
  940. The bytes in this field shall be (50)(4C) ("PL").
  941. @.LI "[2]"
  942. "BP 3 - Length" shall specify as an 8-bit number the length in
  943. bytes of the "PL" System Use Field.
  944. The number in this field shall be 12 for this version.
  945. This field shall be recorded according to ISO 9660:1988 Format 
  946. section 7.1.1.
  947. @.LI "[3]"
  948. "BP 4 - System Use Field Version" shall specify as an 8-bit number an
  949. identification of the version of the "PL" System Use Field.
  950. The number in this field shall be 1 for this version.
  951. This field shall be recorded according to ISO 9660:1988 Format
  952. section 7.1.1.
  953. @.LI "[4]"
  954. "BP 5 to BP 12 - Location of Parent Directory" shall specify as a
  955. 32-bit number the Logical Block Number of the first Logical Block
  956. allocated to the original parent directory of the moved directory.
  957. This field shall be recorded according to ISO 9660:1988 Format section 7.3.3.
  958. @.LE
  959. @.sp
  960. @.sp
  961. @.TB "PL System Use Field - Version 1"
  962. @.TS
  963. center,box;
  964. c | c | c | c | c.
  965.                      
  966. 'P'    'L'    12    1    LOC of PARENT DIRECTORY
  967. (BP1)    (BP2)    (BP3)    (BP4)    (BP5 to BP12)
  968.                      
  969. @.TE
  970. @.sp
  971. @.sp
  972. @.bp
  973. @.sp
  974. @.H 4 "Description of the RE System Use Field"
  975. @.sp
  976. The purpose of the "RE" System Use Field is to indicate to a
  977. receiving system which can understand the System Use Fields "CL" and
  978. "PL" that the directory record in which this "RE" System Use Field is
  979. recorded has been relocated from another position in the original
  980. directory tree.
  981. @.sp
  982. An "RE" System Use Field shall not be recorded unless a corresponding 
  983. "CL" System Use Field is recorded.
  984. If recorded, a "RE" System Use Field shall be recorded in
  985. the System Use Area of the directory record which describes the moved
  986. Directory in the new parent directory of the moved Directory.
  987. @.sp
  988. The format of the "RE" System Use Field is as follows:
  989. @.sp
  990. @.VL 10 5
  991. @.LI "[1]"
  992. "BP 1 to BP 2 - Signature Word" shall indicate that the System Use Field
  993. is a "RE" type System Use Field.
  994. The bytes in this field shall be (52)(45) ("RE").
  995. @.LI "[2]"
  996. "BP 3 - Length" shall specify as an 8-bit number the length in
  997. bytes of the "RE" System Use Field.
  998. The number in this field shall be 4 for this version.
  999. This field shall be recorded according to ISO 9660:1988 Format 
  1000. section 7.1.1.
  1001. @.LI "[3]"
  1002. "BP 4 - System Use Field Version" shall specify as an 8-bit number an
  1003. identification of the version of the "RE" System Use Field.
  1004. The number in this field shall be 1 for this version.
  1005. This field shall be recorded according to ISO 9660:1988 Format
  1006. section 7.1.1.
  1007. @.LE
  1008. @.sp
  1009. @.sp
  1010. @.TB "RE System Use Field - Version 1"
  1011. @.TS
  1012. center,box;
  1013. c | c | c | c.
  1014.                      
  1015. 'R'    'E'    4    1
  1016. (BP1)    (BP2)    (BP3)    (BP4)
  1017.                      
  1018. @.TE
  1019. @.sp
  1020. @.sp
  1021. @.bp
  1022. @.sp
  1023. @.TB "Deep Directory Relocation"
  1024. @.sp
  1025. @.sp
  1026. @.PS
  1027. @.ft 3
  1028. arrowhead = 7
  1029. box "1"
  1030. circle invis "(root)"
  1031.  
  1032. box "2a" at 1st box + (-2.5, -1.0)
  1033. box "2b" at 1st box + (-1.5, -1.0)
  1034. box "2c" at 1st box + (-.50, -1.0)
  1035. line from bottom of 1st box to top of 2nd box
  1036. line from bottom of 1st box to top of 3rd box
  1037. line from bottom of 1st box to top of 4th box
  1038.  
  1039. box "3" at 4th box + (-.50, -1.0)
  1040. line from bottom of 4th box to top of 5th box 
  1041.  
  1042. box "4" at 5th box + (-.50, -1.0)
  1043. box "8" at 5th box + (1.50, -1.0)
  1044. circle "\"RE\"" invis
  1045. line from bottom of 5th box to top of 6th box 
  1046. line from bottom of 5th box to top of 7th box 
  1047. line from bottom of 7th box  down .4 left .5 
  1048. line from bottom of 7th box  down .4 right .5 
  1049.  
  1050. box "5" at 6th box + (-.50, -1.0)
  1051. line from bottom of 6th box to top of 8th box 
  1052.  
  1053. box "6" at 8th box + (-.50, -1.0)
  1054. line from bottom of 8th box to top of 9th box 
  1055.  
  1056. box "7" at 9th box + (-.50, -1.0)
  1057. line from bottom of 9th box to top of 10th box 
  1058.  
  1059. ellipse "file" at 10th box + (-.50, -1.0)
  1060. line from bottom of 10th box to top of 1st ellipse 
  1061.  
  1062. arc -> from 1st ellipse + (.40, 0.0) to 7th box + (.20, -.55)
  1063. arc -> cw from 7th box + (-.20, -.55) to 10th box + (.40, 0.0) rad 3
  1064. circle invis "\"PL\"" at 8th box + (1.35, -1.0)
  1065. circle invis "\"CL\"" at 8th box + (2.55, -1.0)
  1066. @.ft 1
  1067. @.PE
  1068. @.bp
  1069. @.TB "Detailed Deep Directory Relocation"
  1070. @.sp
  1071. @.sp
  1072. @.PS
  1073. @.ft 3
  1074. move right 1.0
  1075. A: box invis  ht 0.2 wid 2.25 ; "   directory foo/ " at A.w ljust
  1076. Aa: box ht 0.2 wid 1.5 with .nw at A.sw ; "   \"dot\"" at Aa.w ljust
  1077. Ab: box ht 0.2 wid .75 with .sw at Aa.se ; "   rrip..." at Ab.w ljust
  1078. Ac: box ht 0.2 wid 1.5 with .nw at Aa.sw ; "   \"dotdot\"" at Ac.w ljust
  1079. Ad: box ht 0.2 wid .75 with .sw at Ac.se ; "   rrip..." at Ad.w ljust
  1080. B: box ht 0.2 wid 1.5 with .nw at Ac.sw ; "   bar" at B.w ljust
  1081. C: box ht 0.2 wid .75 with .sw at B.se ; "   rrip..." at C.w ljust
  1082. F: box ht 0.2 wid 1.5 with .nw at B.sw ; "   hidden_baz" at F.w ljust
  1083. G: box ht 0.2 wid .75 with .sw at F.se ; "   RE" at G.w ljust
  1084. H: box ht 0.2 wid 1.5 with .nw at F.sw ; "   lower" at H.w ljust
  1085. U: box ht 0.2 wid .75 with .sw at H.se ; "   rrip..." at U.w ljust
  1086.  
  1087. move down .4
  1088. move right 2.0
  1089. Y: box invis ht .2 wid .75 ; "   " at Y.w ljust
  1090. X: ellipse ht .4 wid .75 with .nw at Y.sw "File"
  1091.  
  1092. move down .75
  1093. move left 1.5
  1094. I: box invis ht 0.2 wid 1.5 ; "   directory lower/" at I.w ljust
  1095. J: box ht 0.4 wid 2.55 with .nw at I.sw ; "          " at J.w ljust
  1096. K: box ht 0.2 wid .85 with .nw at J.sw ; "   empty_baz" at K.w ljust
  1097. L: box ht 0.2 wid .85 with .sw at K.se ; "   NM \"baz\"" at L.w ljust
  1098. M: box ht 0.2 wid .85 with .sw at L.se ; "   CL" at M.w ljust
  1099.  
  1100. move down .75
  1101. move left .25
  1102. Z: ellipse ht .4 wid .75 " File"
  1103.  
  1104. move down .75
  1105. N: box invis ht 0.2 wid 2.0 ; "  directory baz/ " at N.w ljust
  1106. O: box ht 0.2 wid 1.0 with .nw at N.sw ; "  \"dot\"" at O.w ljust
  1107. P: box ht 0.2 wid 1.0 with .sw at O.se ; "  rrip..." at P.w ljust
  1108. Q: box ht 0.2 wid 1.0 with .nw at O.sw ; "  \"dotdot\"" at Q.w ljust
  1109. R: box ht 0.2 wid 1.0 with .sw at Q.se ; "  PL" at R.w ljust
  1110. S: box ht 0.2 wid 1.0 with .nw at Q.sw ; "  " at S.w ljust
  1111. T: box ht 0.2 wid 1.0 with .sw at S.se ; "  " at T.w ljust
  1112.  
  1113. @.\" BAR->FILE
  1114. arc <- from X.n to C.e rad 2.0
  1115.  
  1116. @.\" HIDDEN_BAZ->DIR_BAZ
  1117. arc -> from F.w to O.w 
  1118.  
  1119. @.\" LOWER->DIR_LOWER
  1120. arc -> cw from H.c to J.n rad 3
  1121.  
  1122. @.\" EMPTY_BAZX->EMPTY_FILE
  1123. arc -> from K.s to Z.nw rad 3
  1124.  
  1125. @.\" CL->DIR_BAZ
  1126. arc -> cw from M.c to P.n rad 2
  1127.  
  1128. @.\" PL->DIR_LOWER
  1129. arc -> from R.c to J.ne rad .05
  1130.  
  1131. @.ft 1
  1132. @.PE
  1133. @.bp
  1134. @.sp
  1135. @.sp
  1136. @.H 3 "Description of the TF System Use Field"
  1137. @.sp
  1138. The purpose of the "TF" System Use Field is to allow the
  1139. recording of a complete set of time stamps related to a file.
  1140. This System Use Field shall be optional.
  1141. If this field does not exist, the
  1142. POSIX st_atime, st_ctime and st_mtime should have the same value as
  1143. Recording Date and Time Field of the ISO 9660:1988 directory record.
  1144. If both the "TF" System Use Field and the XAR are present, the time
  1145. attributes stored in these two areas must be consistent.
  1146. If only the XAR is present, the st_atime should have the same value as the
  1147. Recording Date and Time Field of the ISO 9660 directory record.
  1148. @.sp
  1149. Multiple "TF" fields may be recorded, using any combination of time
  1150. stamps and time formats, but each individual time stamp may be recorded
  1151. only once per directory record.
  1152. @.sp
  1153. The format of the "TF" System Use Field is as follows:
  1154. @.sp
  1155. @.VL 12 5 
  1156. @.LI "[1]"
  1157. "BP 1 to BP 2 - Signature Word" shall indicate that the System Use Field
  1158. is a "TF" type System Use Field.
  1159. The bytes in this field shall be (54)(46) ("TF").
  1160. @.LI "[2]"
  1161. "BP 3 - Length" shall specify as an 8-bit number the length in
  1162. bytes of the "TF" System Use Field.
  1163. This field shall be recorded according to ISO 9660:1988 Format 
  1164. section 7.1.1.
  1165. @.LI "[3]"
  1166. "BP 4 - System Use Field Version" shall specify as an 8-bit number an
  1167. identification of the version of the "TF" System Use Field.
  1168. The number in this field shall be 1 for this version.
  1169. This field shall be recorded according to ISO 9660:1988 Format
  1170. section 7.1.1.
  1171. @.LI "[4]"
  1172. "BP 5 - Flags" shall contain bit field flags numbered 0
  1173. to 7 starting with the least significant bit as follows:
  1174. @.sp
  1175. @.TS
  1176. center;
  1177. c c l.
  1178. Position    Name    Interpretation if set to 1
  1179. \_    \_    \_
  1180. 0    CREATION    Creation time recorded
  1181. 1    MODIFY    Modification time recorded
  1182. 2    ACCESS    Last Access time recorded
  1183. 3    ATTRIBUTES    Last Attribute Change time recorded
  1184. 4    BACKUP    Last Backup time recorded
  1185. 5    EXPIRATION    Expiration time recorded
  1186. 6    EFFECTIVE    Effective time recorded
  1187. 7    LONG_FORM    ISO 9660 17-byte time format used
  1188. @.TE
  1189. @.sp
  1190. If the LONG_FORM bit is set to one, all time stamps in this "TF"
  1191. System Use Field shall be recorded using the format specified in
  1192. Section 8.4.26.1 of ISO 9660:1988.
  1193. If the LONG_FORM bit is set to zero, all time stamps in this "TF" 
  1194. System Use Field shall be recorded
  1195. using the format specified in Section 9.1.5 of ISO 9660:1988.
  1196. @.LI "[4+N]"
  1197. "BP 6+(X*(N-1)) to 5+(X*N) Time Stamp" shall contain the Nth time
  1198. stamp indicated in [4] as being recorded, starting with the 0th
  1199. bit and working sequentially through the list of recordable time stamps.
  1200. The LONG_FORM bit does not indicate the presence or
  1201. absence of any time stamp.
  1202. The value of X in the expression above
  1203. shall be 17 if the LONG_FORM bit is set to 1, and 7 otherwise.
  1204. @.LE
  1205. @.bp
  1206. @.sp
  1207. The recorded time for each of the time stamps recorded in this
  1208. field shall be local time.
  1209. if recorded, CREATION, Creation Time, has the same meaning as in
  1210. ISO 9660:1988 Format section 9.5.4.
  1211. @.sp
  1212. If recorded, MODIFY, File Modification Date and Time, has the
  1213. same meaning as in ISO 9660:1988 Format section 9.5.5.
  1214. This field shall be used by the st_mtime for POSIX conformance.
  1215. @.sp
  1216. If recorded, ACCESS, File Last Access Date and Time, shall
  1217. specify the date and time of the day at which the information in the
  1218. file was last accessed.
  1219. This field shall be used by the st_atime for POSIX conformance.
  1220. @.sp
  1221. If recorded, ATTRIBUTES, Last Attribute Change Time,
  1222. shall be used by the st_ctime field for POSIX conformance.
  1223. @.sp
  1224. If recorded, BACKUP, Last Backup Time, shall provide a time stamp
  1225. for the most recent backup of this file.
  1226. The utilization of this information is not restricted by this specification.
  1227. @.sp
  1228. If recorded, EXPIRE, File Expiration Date and Time, has the same
  1229. meaning as in ISO 9660:1988 Format section 9.5.6.
  1230. @.sp
  1231. If recorded, EFFECT File Effective Date and Time" has the same
  1232. meaning as in ISO 9660:1988 Format section 9.5.7.
  1233. @.sp
  1234. @.sp
  1235. @.TB "TF System Use Field - Version 1"
  1236. @.TS
  1237. center,box;
  1238. c | c | c | c | c | c.
  1239.                           
  1240. 'T'    'F'    LENGTH    1    FLAGS    TIME STAMPS
  1241. (BP1)    (BP2)    (BP3)    (BP4)    (BP5)    (BP6 to LENGTH)
  1242.                           
  1243. @.TE
  1244. @.sp
  1245. @.sp
  1246. @.sp
  1247. @.H 3 "Description of the RR System Use Field"
  1248. @.sp
  1249. The purpose of the "RR" System Use Field is to indicate which
  1250. System Use Fields defined by the Rock Ridge Interchange Protocol are
  1251. actually recorded for the current directory record.
  1252. This System Use Field is optional.
  1253. No more than one "RR" System Use Field shall
  1254. appear in (all) the System Use Area(s) for a single directory record.
  1255. @.sp
  1256. The use of an "RR" field may allow some additional optimization
  1257. in implementations which utilize this information to eliminate
  1258. searching through the entire System Use Area (and all Continuations)
  1259. for a System Use Field which may not even have been recorded.
  1260. For this reason, if an "RR" field is recorded, it should be one of the
  1261. first fields recorded in the System Use Area.
  1262. @.bp
  1263. @.sp
  1264. The format of the "RR" System Use Field is as follows:
  1265. @.sp
  1266. @.VL 10 5
  1267. @.LI "[1]"
  1268. "BP 1 to BP 2 - Signature Word" shall indicate that the System Use Field
  1269. is a "RR" type System Use Field.
  1270. The bytes in this field shall be (52)(52) ("RR").
  1271. @.LI "[2]"
  1272. "BP 3 - Length" shall specify as an 8-bit number the length in
  1273. bytes of the "RR" System Use Field.
  1274. The number in this field shall be 5 for this version.
  1275. This field shall be recorded according to ISO 9660:1988 Format 
  1276. section 7.1.1.
  1277. @.LI "[3]"
  1278. "BP 4 - System Use Field Version" shall specify as an 8-bit number an
  1279. identification of the version of the "RR" System Use Field.
  1280. The number in this field shall be 1 for this version.
  1281. This field shall be recorded according to ISO 9660:1988 Format
  1282. section 7.1.1.
  1283. @.LI "[4]"
  1284. "BP 5 - Flags" shall contain bit field flags numbered 0
  1285. to 7 starting with the least significant bit as follows:
  1286. @.sp
  1287. @.TS
  1288. center;
  1289. c l.
  1290. Position    If set to 1, indicates, for this Directory Record
  1291. \_    \_
  1292. 0    "PX" System Use Field recorded
  1293. 1    "PN" System Use Field recorded
  1294. 2    "SL" System Use Field recorded
  1295. 3    "NM" System Use Field recorded
  1296. 4    "CL" System Use Field recorded
  1297. 5    "PL" System Use Field recorded
  1298. 6    "RE" System Use Field recorded
  1299. 7    "TF" System Use Field recorded
  1300. @.TE
  1301. @.LE
  1302. @.sp
  1303. @.sp
  1304. @.TB "RR System Use Field - Version 1"
  1305. @.TS
  1306. center,box;
  1307. c | c | c | c | c.
  1308.                      
  1309. 'R'    'R'    LENGTH    1    FLAGS
  1310. (BP1)    (BP2)    (BP3)    (BP4)    (BP5)
  1311.                      
  1312. @.TE
  1313. @.sp
  1314. @.sp
  1315. @.sp
  1316. @.H 2 "Required Recording and Consistency"
  1317. @.sp
  1318. The "PX" System Use Fields shall be recorded in every directory
  1319. record.
  1320. All recorded instances of the "PX" and "TF" System Use Fields
  1321. in directory records referring to a single directory must be
  1322. consistent.
  1323. @.bp
  1324. @.sp
  1325. @.H 2 "Specification of the ER System Use Field Values for RRIP"
  1326. @.sp
  1327. The Extension Version number for the version of the RRIP defined
  1328. herein shall be 1.
  1329. The content of the Extension Identifier field shall be "RRIP_1991A".
  1330. The Identifier Length shall be 10.
  1331. @.sp
  1332. The recommended content of the Extension Descriptor shall be "THE
  1333. ROCK RIDGE INTERCHANGE PROTOCOL PROVIDES SUPPORT FOR POSIX FILE SYSTEM
  1334. SEMANTICS."
  1335. The corresponding Description Length is 84.
  1336. @.sp
  1337. The recommended content of the Extension Source shall be "PLEASE
  1338. CONTACT DISC PUBLISHER FOR SPECIFICATION SOURCE.  SEE PUBLISHER
  1339. IDENTIFIER IN PRIMARY VOLUME DESCRIPTOR FOR CONTACT INFORMATION."
  1340. The corresponding Source Length is 135.
  1341. @.sp
  1342. @.bp
  1343. @.\" Blank page for back of this chapter
  1344. @.ce 
  1345.        
  1346.         
  1347.        
  1348.          
  1349. @EOF
  1350.  
  1351. chmod 644 rrip.nr
  1352.  
  1353. echo x - api.begin.nr
  1354. sed 's/^@//' >api.begin.nr <<'@EOF'
  1355. @.sp
  1356. @.H 1 "RRIP APPLICATION PROGRAMMING INTERFACE (API)"
  1357. @.sp
  1358. This section specifies an Application Programming Interface (API)
  1359. for the Rock Ridge Interchange Protocol which is implemented on top
  1360. of the System Use Sharing Protocol. This API is a supplement to the
  1361. X/Open CD-ROM Support Component (XCDR).
  1362. @.sp
  1363. @.H 2 "Mapping Device Files"
  1364. @.sp
  1365. The major and minor numbers of device files as recorded in the System
  1366. Use Area on the CD-ROM may not match the major and minor numbers
  1367. of the physical devices. 
  1368. If that is the case, the command,
  1369. @.I cddevsuppl\^
  1370. can be used to change the major and minor numbers of a specific
  1371. device file on the CD-ROM.
  1372. @.sp
  1373. If the system imposes a maximum value on the number of device file 
  1374. mappings, this will be defined via the symbolic name CD_MAXDMAP in
  1375. @.I <sys/cdrom.h>.\^
  1376. At least 50 device file mappings will be supported.
  1377. @.sp
  1378. @.H 2 "Obtaining CD-ROM Specific Information"
  1379. @.sp
  1380. @.H 3 "System Use Sharing Protocol Fields"
  1381. @.sp
  1382. The CD-ROM contains System Use Fields in the System Use Areas which are
  1383. specific to the CD-ROM and cannot be obtained by standard XSI system 
  1384. interfaces.
  1385. Using the command
  1386. @.I cdsuf,\^
  1387. or the equivalent library function, all additional information in a
  1388. file or directory System Use Field can be accessed.
  1389. @.sp
  1390. @.H 3 "Changing PX Field Information"
  1391. @.sp
  1392. The "POSIX File User ID" and "POSIX File Group ID" can be mapped on the
  1393. receiving system by using commands and library functions supplied by
  1394. the X/Open CD-ROM Support Component (XCDR).
  1395. @.sp
  1396. @.H 3 "File Name Resolution"
  1397. @.sp
  1398. The fields
  1399. @.I file,\^
  1400. @.I filename,\^
  1401. @.I path,\^
  1402. and
  1403. @.I pathname\^
  1404. shall be resolved according to the Rock Ridge Interchange Protocol, which
  1405. may be the ISO 9660 name or RRIP name depending on whether an "NM" System
  1406. Use Field is present for any component of that filename.
  1407. @.bp
  1408. @EOF
  1409.  
  1410. chmod 644 api.begin.nr
  1411.  
  1412. echo x - api.cmd.nr
  1413. sed 's/^@//' >api.cmd.nr <<'@EOF'
  1414. @.sp
  1415. @.H 2 "Definition of CD-ROM Specific User Commands"
  1416. @.sp
  1417. This sections provides manual pages which describe CD-ROM user commands
  1418. for users in detail.
  1419. The user commands are:
  1420. @.sp
  1421. @.TS
  1422. center;
  1423. l l.
  1424. Name    Description
  1425. \_    \_
  1426.       
  1427. cdsuf    Retrieve a System Use Field
  1428.       
  1429. cddevsuppl    Set and get major/minor numbers of a device file
  1430. @.TE
  1431. @.sp
  1432. @.bp
  1433. @.sp
  1434. @.H 3 "cdsuf command"
  1435. @.sp
  1436. @.in 0
  1437. @.ft 3
  1438. NAME
  1439. @.ft 1
  1440. @.in 2
  1441. @.br
  1442. @.ft 3
  1443. cdsuf
  1444. @.ft 1
  1445. - read the System Use Fields from a System Use Area
  1446. @.sp
  1447. @.in 0
  1448. @.ft 3
  1449. SYNOPSIS
  1450. @.ft 1
  1451. @.in 2
  1452. @.ft 3
  1453. @.br
  1454. @.ft 3
  1455. cdsuf 
  1456. @.ft 1
  1457. [-s number]  [-b]  file
  1458. @.sp
  1459. @.in 0
  1460. @.ft 3
  1461. DESCRIPTION
  1462. @.ft 1
  1463. @.in 2
  1464. @.br
  1465. This command is used to access the System Use Fields of the System Use
  1466. Area associated with a File Section of a file or directory and to list
  1467. its contents on standard output, following any Continuation Fields that
  1468. may be present.
  1469. @.sp
  1470. @.in 0
  1471. @.ft 3
  1472. OPTIONS
  1473. @.ft 1
  1474. @.in 2
  1475. @.br
  1476. The following options are available:
  1477. @.VL 15 5
  1478. @.LI "\f3-s number\f1"
  1479. This option specifies the File Section for which the System Use Area shall
  1480. be read.
  1481. The numbering starts with one.
  1482. If this option is omitted the last File Section of that file is assumed.
  1483. @.LI "\f3-b\f1"
  1484. With this option all of the System Use Fields of the System Use Area are 
  1485. copied from the CD-ROM to standard output in binary format.
  1486. @.LE
  1487. @.sp
  1488. @.in 0
  1489. @.ft 3
  1490. OPERAND
  1491. @.ft 1
  1492. @.in 2
  1493. @.br
  1494. The operand
  1495. @.I file\^
  1496. is the name of any file or directory within the CD-ROM file hierarchy.
  1497. @.sp
  1498. @.in 0
  1499. @.ft 3
  1500. STDIN
  1501. @.ft 1
  1502. @.in 2
  1503. @.br
  1504. Not Used.
  1505. @.sp
  1506. @.in 0
  1507. @.ft 3
  1508. INPUT FILES
  1509. @.ft 1
  1510. @.in 2
  1511. @.br
  1512. None.
  1513. @.sp
  1514. @.in 0
  1515. @.ft 3
  1516. ENVIRONMENT VARIABLES
  1517. @.ft 1
  1518. @.in 2
  1519. @.br
  1520. LC_TIME determines the format and contents of date and time strings. 
  1521. If LC_TIME is not set in the environment or is set to the empty string,
  1522. the value of LANG will be used as a default.
  1523. If LANG is not set or set to the empty string, the corresponding
  1524. value from the implementation-specific default locale will be used.
  1525. If LC_TIME or LANG contain an invalid setting, the utility will behave
  1526. as if none of the variables had been defined.
  1527. @.sp
  1528. @.in 0
  1529. @.ft 3
  1530. STDOUT
  1531. @.ft 1
  1532. @.in 2
  1533. @.br
  1534. The output is formatted in the form of a table which contains an entry
  1535. for each System Use Field in the System Use Area as recorded on the CD-ROM.
  1536. Each entry of the table shall have the fields
  1537. @.I Signature,\^
  1538. @.I Length,\^
  1539. @.I Version,\^
  1540. and 
  1541. @.I Data\^ 
  1542. as specified in the System Use Sharing Protocol.
  1543. Whether to break up the 
  1544. @.I Data\^
  1545. field into smaller fields according to the protocol which defined the
  1546. @.I Signature\^
  1547. field is left up to the implementation.
  1548. @.sp
  1549. If the 
  1550. @.ft 3
  1551. -b 
  1552. @.ft 1
  1553. option is applied, the contents of the full System Use Area
  1554. are written to standard output in binary format as it is recorded on the CD-ROM.
  1555. @.sp
  1556. @.in 0
  1557. @.ft 3
  1558. STDERR
  1559. @.ft 1
  1560. @.in 2
  1561. @.br
  1562. Used only for diagnostic messages.
  1563. @.sp
  1564. @.in 0
  1565. @.ft 3
  1566. OUTPUT FILES
  1567. @.ft 1
  1568. @.in 2
  1569. @.br
  1570. None.
  1571. @.sp
  1572. @.in 0
  1573. @.ft 3
  1574. EXIT STATUS
  1575. @.ft 1
  1576. @.in 2
  1577. @.br
  1578. The following exit values are returned:
  1579. @.sp
  1580. @.VL 15 5
  1581. @.LI "0"
  1582. successful completion
  1583. @.LI "1"
  1584. file not found or file is not a file or directory within a CD-ROM file
  1585. hierarchy or access denied
  1586. @.LI "2"
  1587. File Section indicated by -s does not exist
  1588. @.LI "3"
  1589. File Section indicated by -s has no System Use Area
  1590. @.LE
  1591. @.sp
  1592. @.in 0
  1593. @.ft 3
  1594. CONSEQUENCES OF ERRORS
  1595. @.ft 1
  1596. @.in 2
  1597. @.br
  1598. None.
  1599. @.sp
  1600. @.in 0
  1601. @.ft 3
  1602. APPLICATION USAGE
  1603. @.ft 1
  1604. @.in 2
  1605. @.br
  1606. The user must have read permission for
  1607. @.I file\^
  1608. to execute the command successfully.
  1609. @.sp
  1610. @.in 0
  1611. @.ft 3
  1612. EXAMPLES
  1613. @.ft 1
  1614. @.in 2
  1615. @.br
  1616. None.
  1617. @.sp
  1618. @.in 0
  1619. @.ft 3
  1620. FUTURE DIRECTIONS
  1621. @.ft 1
  1622. @.in 2
  1623. @.br
  1624. None.
  1625. @.sp
  1626. @.in 0
  1627. @.ft 3
  1628. SEE ALSO
  1629. @.ft 1
  1630. @.in 2
  1631. @.br
  1632. None.
  1633. @.sp
  1634. @.in 0
  1635. @.ft 3
  1636. CHANGE HISTORY
  1637. @.ft 1
  1638. @.in 2
  1639. @.br
  1640. None.
  1641. @.sp
  1642. @.in 0
  1643. @.bp
  1644. @.sp
  1645. @.H 3 "cddevsuppl command"
  1646. @.sp
  1647. @.in 0
  1648. @.ft 3
  1649. NAME
  1650. @.ft 1
  1651. @.in 2
  1652. @.br
  1653. @.ft 3
  1654. cddevsuppl
  1655. @.ft 1
  1656. - set and get the major and minor numbers of a device file
  1657. @.sp
  1658. @.in 0
  1659. @.ft 3
  1660. SYNOPSIS
  1661. @.ft 1
  1662. @.in 2
  1663. @.br
  1664. @.ft 3
  1665. cddevsuppl
  1666. @.ft 1
  1667. [-m mapfile | -u unmapfile]  [-c]
  1668. @.sp
  1669. @.in 0
  1670. @.ft 3
  1671. DESCRIPTION
  1672. @.ft 1
  1673. @.in 2
  1674. @.br
  1675. This command is used to map and unmap the major and minor numbers of a device
  1676. file on a mounted CD-ROM.
  1677. @.sp
  1678. If
  1679. @.I cddevsuppl\^
  1680. is executed without the
  1681. @.ft 3
  1682. -m
  1683. @.ft 1
  1684. or 
  1685. @.ft 3
  1686. -u
  1687. @.ft 1
  1688. option, it lists the current device file mappings
  1689. on the system.
  1690. @.sp
  1691. The \f3-m mapfile\f1 and \f3-u unmapfile\f1 options are mutually exclusive.
  1692. @.sp
  1693. @.in 0
  1694. @.ft 3
  1695. OPTIONS
  1696. @.ft 1
  1697. @.in 2
  1698. @.br
  1699. The following options are available:
  1700. @.VL 20 5
  1701. @.LI "\f3-m mapfile\f1"
  1702. This option will map the major and minor numbers for device files.
  1703. The mappings are specified in
  1704. @.I mapfile.\^
  1705. This file has one entry for each device file mapping in the format:
  1706. @.sp
  1707. @.TS
  1708. center;
  1709. c c c.
  1710. device_file_path    new_major    new_minor
  1711. @.TE
  1712. @.sp
  1713. The fields are separated by white space.
  1714. The entries are separated by newlines.
  1715. Anything beyond the third field shall be treated as a comment.
  1716. @.sp
  1717. The maximum number of mappings is defined in the header file
  1718. @.I <sys/cdrom.h>.\^
  1719. A previous device file mapping for a specific device file is overridden 
  1720. if that device file that is mapped again.
  1721. @.sp
  1722. @.LI "\f3-u unmapfile\f1"
  1723. This option will unmap the major and minor numbers for device files.
  1724. The mappings are specified in
  1725. @.I unmapfile.\^
  1726. This file has one entry for each device file mapping in the format:
  1727. @.sp
  1728. @.TS
  1729. center;
  1730. c.
  1731. device_file_path
  1732. @.TE
  1733. @.sp
  1734. The entries are separated by newlines.
  1735. Anything beyond the first field shall be treated as a comment.
  1736. @.sp
  1737. @.LI "\f3-c\f1"
  1738. This option is only useful when used in combination with the
  1739. \f3-m mapfile\f1 or \f3-u unmapfile\f1
  1740. options.
  1741. The
  1742. @.ft 3
  1743. -c
  1744. @.ft 1
  1745. option will cause
  1746. @.I cddevsuppl\^
  1747. to continue processing the device file mappings if an error is returned
  1748. for a specific device file mapping.
  1749. An error message for that specific device file will be printed to
  1750. standard error.
  1751. The default action is to stop processing when an error has occurred.
  1752. @.LE
  1753. @.sp
  1754. @.in 0
  1755. @.ft 3
  1756. OPERAND
  1757. @.ft 1
  1758. @.in 2
  1759. @.br
  1760. None.
  1761. @.sp
  1762. @.in 0
  1763. @.ft 3
  1764. STDIN
  1765. @.ft 1
  1766. @.in 2
  1767. @.br
  1768. Not used.
  1769. @.sp
  1770. @.in 0
  1771. @.ft 3
  1772. INPUT FILES
  1773. @.ft 1
  1774. @.in 2
  1775. @.br
  1776. The input files are text files.
  1777. @.sp
  1778. @.in 0
  1779. @.ft 3
  1780. ENVIRONMENT VARIABLES
  1781. @.ft 1
  1782. @.in 2
  1783. @.br
  1784. No environment variables affect the execution of
  1785. @.I cddevsuppl.\^
  1786. Note that LC_CTYPE will not be used in filename conversion.
  1787. @.sp
  1788. @.in 0
  1789. @.ft 3
  1790. STDOUT
  1791. @.ft 1
  1792. @.in 2
  1793. @.br
  1794. If no options are used the current device file mappings are listed on
  1795. standard output.
  1796. In the case of \f3-m mapfile\f1, the new setting is listed
  1797. if the mapping was completed successfully.
  1798. In the case of \f3-u unmapfile\f1, the device file and
  1799. the major/minor numbers as recorded on the CD-ROM are listed if
  1800. the unmapping was completed successfully.
  1801. @.sp
  1802. @.in 0
  1803. @.ft 3
  1804. STDERR
  1805. @.ft 1
  1806. @.in 2
  1807. @.br
  1808. Used only for diagnostic messages.
  1809. @.sp
  1810. @.in 0
  1811. @.ft 3
  1812. OUTPUT FILES
  1813. @.ft 1
  1814. @.in 2
  1815. @.br
  1816. None.
  1817. @.sp
  1818. @.in 0
  1819. @.ft 3
  1820. EXIT STATUS
  1821. @.ft 1
  1822. @.in 2
  1823. @.br
  1824. The following exit values are returned:
  1825. @.sp
  1826. @.VL 15 5
  1827. @.LI "0"
  1828. successful completion
  1829. @.LI "1"
  1830. file not found or file is not a file or directory within a CD-ROM file
  1831. hierarchy or access denied
  1832. @.LI "2"
  1833. not user with appropriate privileges
  1834. @.LI "3"
  1835. too many mappings
  1836. @.LI "4"
  1837. parameter error or bad format in a mapping file
  1838. @.LI "5"
  1839. file is not a device file
  1840. @.LI "6"
  1841. file not previously mapped
  1842. @.LE
  1843. @.sp
  1844. @.in 0
  1845. @.ft 3
  1846. CONSEQUENCES OF ERRORS
  1847. @.ft 1
  1848. @.in 2
  1849. @.br
  1850. None.
  1851. @.sp
  1852. @.in 0
  1853. @.ft 3
  1854. APPLICATION USAGE
  1855. @.ft 1
  1856. @.in 2
  1857. @.br
  1858. Only a user with appropriate privileges may change administrative CD-ROM
  1859. features successfully.
  1860. To read the current device file mappings, the user must have read
  1861. permission on the device file.
  1862. @.sp
  1863. Mappings should be established before affected device files are used.
  1864. If the command is applied for device file mappings when device files 
  1865. have already been opened, the
  1866. effect of this command on these files is undefined.
  1867. @.sp
  1868. The device file mappings for a mounted CD-ROM are eliminated when the
  1869. CD-ROM is unmounted.
  1870. @.sp
  1871. @.in 0
  1872. @.ft 3
  1873. EXAMPLES
  1874. @.ft 1
  1875. @.in 2
  1876. @.br
  1877. None.
  1878. @.sp
  1879. @.in 0
  1880. @.ft 3
  1881. FUTURE DIRECTIONS
  1882. @.ft 1
  1883. @.in 2
  1884. @.br
  1885. None.
  1886. @.sp
  1887. @.in 0
  1888. @.ft 3
  1889. SEE ALSO
  1890. @.ft 1
  1891. @.in 2
  1892. @.br
  1893. None.
  1894. @.sp
  1895. @.in 0
  1896. @.ft 3
  1897. CHANGE HISTORY
  1898. @.ft 1
  1899. @.in 2
  1900. @.br
  1901. None.
  1902. @.sp
  1903. @.in 0
  1904. @.bp
  1905. @EOF
  1906.  
  1907. chmod 644 api.cmd.nr
  1908.  
  1909. echo x - api.lib.nr
  1910. sed 's/^@//' >api.lib.nr <<'@EOF'
  1911. @.sp
  1912. @.H 2 "Definition of CD-ROM Specific Library Functions for Users"
  1913. @.sp
  1914. This sections provides manual pages which describe CD-ROM library functions
  1915. for users in detail.
  1916. The library routines are:
  1917. @.sp
  1918. @.TS
  1919. center;
  1920. l l.
  1921. Name    Description
  1922. \_    \_
  1923.           
  1924. cd_suf()    Retrieve a System Use Field
  1925.           
  1926. cd_setdevmap()    Set mappings of major/minor numbers
  1927.           
  1928. cd_getdevmap()    Get mappings of major/minor numbers
  1929. @.TE
  1930. @.sp
  1931. @.bp
  1932. @.sp
  1933. @.H 3 "cd_suf library routine"
  1934. @.sp
  1935. @.in 0
  1936. @.ft 3
  1937. NAME
  1938. @.ft 1
  1939. @.br
  1940. @.in 2
  1941. @.ft 3
  1942. cd_suf 
  1943. @.ft 1
  1944. - read System Use Field from a specified System Use Area
  1945. @.sp
  1946. @.in 0
  1947. @.ft 3
  1948. SYNOPSIS
  1949. @.ft 1
  1950. @.in 2
  1951. @.ft 3
  1952. @.br
  1953. #include <sys/cdrom.h>
  1954. @.sp
  1955. int cd_suf (path, fsec, signature, index, buf, buflen)
  1956. @.br
  1957. char    *path;
  1958. @.br
  1959. int    fsec;
  1960. @.br
  1961. char    signature[2];
  1962. @.br
  1963. int    index;
  1964. @.br
  1965. char    *buf;
  1966. @.br
  1967. int    buflen;
  1968. @.sp
  1969. @.ft 1
  1970. @.in 0
  1971. @.ft 3
  1972. DESCRIPTION
  1973. @.ft 1
  1974. @.in 2
  1975. @.br
  1976. @.I Cd_suf\^
  1977. returns a System Use Field in the System Use Area for
  1978. @.I path.\^
  1979. @.sp
  1980. @.I Path\^
  1981. points to a file or directory within the CD-ROM file hierarchy.
  1982. @.sp
  1983. @.I Fsec\^
  1984. specifies the File Section of that file. 
  1985. The numbering starts with one.
  1986. If
  1987. @.I fsec\^
  1988. is set to -1, the System Use Area of the last File Section of that file
  1989. is assumed.
  1990. @.sp
  1991. @.I Signature\^
  1992. is the 2 byte signature to look for and return from the System Use Area.
  1993. @.sp
  1994. @.I Index\^
  1995. is the occurrence of
  1996. @.I signature\^ 
  1997. to return.
  1998. If
  1999. @.I signature\^
  2000. is a NULL pointer, return the
  2001. @.I index\^
  2002. System Use Field starting from the beginning of the System Use Area.
  2003. Otherwise, return the
  2004. @.I index\^
  2005. occurrence of
  2006. @.I signature.\^
  2007. The
  2008. @.I index\^
  2009. number of the first System Use Field of any
  2010. @.I signature\^
  2011. is one.
  2012. @.sp
  2013. @.I Buf\^
  2014. and
  2015. @.I buflen\^
  2016. are the buffer and buffer length in which to place the System Use Field.
  2017. @.sp
  2018. @.in 0
  2019. @.ft 3
  2020. RETURN VALUE
  2021. @.ft 1
  2022. @.in 2
  2023. @.br
  2024. @.I Cd_suf\^
  2025. will return the number of bytes placed in
  2026. @.I buf\^
  2027. if successful.
  2028. @.I Cd_suf\^
  2029. will return 0 if the
  2030. @.I signature\^
  2031. field is not found.
  2032. In case of error, -1 is returned and
  2033. @.I errno\^
  2034. is set to indicate the error.
  2035. @.sp
  2036. @.in 0
  2037. @.ft 3
  2038. ERRORS
  2039. @.ft 1
  2040. @.in 2
  2041. @.br
  2042. The 
  2043. @.I cd_suf()\^
  2044. function will fail if:
  2045. @.sp
  2046. @.VL 15
  2047. @.LI "[EACCESS]"
  2048. Search permission is denied for a component of the
  2049. @.I path\^
  2050. prefix or read permission on the file or directory pointed to by
  2051. @.I path\^
  2052. is denied.
  2053. @.LI "[ENAMETOOLONG]"
  2054. The length of the
  2055. @.I path\^
  2056. string exceeds {PATH_MAX} or a pathname component is longer than
  2057. {NAME_MAX} while {_POSIX_NO_TRUNC} is in effect.
  2058. @.LI "[ENOENT]"
  2059. A component of
  2060. @.I path\^
  2061. does not exist or the
  2062. @.I path\^
  2063. argument points to an empty string.
  2064. @.br
  2065. The File Section indicated by 
  2066. @.I fsec\^
  2067. has no System Use Area.
  2068. @.LI "[ENOTDIR]"
  2069. A component of the
  2070. @.I path\^
  2071. prefix is not a directory.
  2072. @.LI "[EFAULT]"
  2073. The address of
  2074. @.I buf,\^
  2075. @.I signature\^
  2076. or
  2077. @.I path\^
  2078. is invalid.
  2079. @.LI "[EINVAL]"
  2080. The value of
  2081. @.I fsec,\^
  2082. @.I index\^
  2083. or
  2084. @.I buflen\^
  2085. is invalid.
  2086. @.br
  2087. The argument
  2088. @.I path\^
  2089. points to a file/directory not within a CD-ROM file hierarchy.
  2090. @.LI "[ENODEV]"
  2091. The Volume containing the File Section indicated by
  2092. @.I fsec\^
  2093. is not mounted.
  2094. @.LI "[ENXIO]"
  2095. The CD-ROM is not in the drive or a read error occurred.
  2096. @.LI "[EINTR]"
  2097. A signal was caught during the 
  2098. @.I cd_suf()\^
  2099. function.
  2100. @.LI "[EMFILE]"
  2101. {OPEN_MAX} file descriptors are currently open in the calling process.
  2102. @.LI "[ENFILE]"
  2103. The system file table is full.
  2104. @.LE
  2105. @.sp
  2106. @.in 0
  2107. @.ft 3
  2108. SEE ALSO
  2109. @.ft 1
  2110. @.in 2
  2111. @.br
  2112. <sys/cdrom.h>
  2113. @.sp
  2114. @.in 0
  2115. @.bp
  2116. @.sp
  2117. @.H 3 "cd_setdevmap library routine"
  2118. @.sp
  2119. @.in 0
  2120. @.ft 3
  2121. NAME
  2122. @.ft 1
  2123. @.in 2
  2124. @.br
  2125. @.ft 3
  2126. cd_setdevmap 
  2127. @.ft 1
  2128. - set mappings of major/minor numbers
  2129. @.sp
  2130. @.in 0
  2131. @.ft 3
  2132. SYNOPSIS
  2133. @.ft 1
  2134. @.in 2
  2135. @.ft 3
  2136. @.br
  2137. #include <sys/cdrom.h>
  2138. @.sp
  2139. int cd_setdevmap (path, cmd, new_major, new_minor)
  2140. @.br
  2141. char    *path;
  2142. @.br
  2143. int    cmd;
  2144. @.br
  2145. int    *new_major;
  2146. @.br
  2147. int    *new_minor;
  2148. @.sp
  2149. @.ft 1
  2150. @.in 0
  2151. @.ft 3
  2152. DESCRIPTION
  2153. @.ft 1
  2154. @.in 2
  2155. @.br
  2156. This function sets or unsets (based on
  2157. @.I cmd\^)
  2158. the major and minor numbers of one device file on a mounted CD-ROM.
  2159. The argument
  2160. @.I path\^
  2161. points to a file or directory within the CD-ROM file hierarchy.
  2162. @.sp
  2163. If 
  2164. @.I cmd\^
  2165. is CD_SETDMAP, this function maps the
  2166. @.I new_major
  2167. major number and the
  2168. @.I new_minor
  2169. minor number to the device file pointed to by
  2170. @.I path.
  2171. @.I New_major\^
  2172. specifies the new major number for the device file.
  2173. @.I New_minor\^
  2174. specifies the new minor number for the device file.
  2175. Any device file mapping for the device file
  2176. @.I path\^
  2177. set with a previous invocation of
  2178. @.I cd_setdevmap()\^
  2179. is overridden by this invocation of
  2180. @.I cd_setdevmap().\^
  2181. @.sp
  2182. If 
  2183. @.I cmd\^
  2184. is CD_UNSETDMAP, this function unmaps the mapped major and 
  2185. minor numbers of the device file pointed to by
  2186. @.I path.\^
  2187. The value of the recorded major number on the CD-ROM shall be returned in
  2188. @.I new_major.\^
  2189. The value of the recorded minor number on the CD-ROM shall be returned in
  2190. @.I new_minor.\^
  2191. @.sp
  2192. See 
  2193. @.ft 3
  2194. Section 1.1, Mapping Device Files 
  2195. @.ft 1
  2196. for further information.
  2197. @.sp
  2198. @.in 0
  2199. @.ft 3
  2200. RETURN VALUE
  2201. @.ft 1
  2202. @.in 2
  2203. @.br
  2204. For CD_SETDMAP,
  2205. @.I cd_setdevmap\^
  2206. will return one if the device file is successfully mapped 
  2207. (a return value of zero means no more mappings allowed).
  2208. @.sp
  2209. For CD_UNSETDMAP,
  2210. @.I cd_setdevmap\^
  2211. will return one if the device file is successfully unmapped 
  2212. (a return value of zero means mapping not found).
  2213. @.sp
  2214. In case of error, -1 is returned and
  2215. @.I errno\^
  2216. is set to indicate the error.
  2217. @.sp
  2218. @.in 0
  2219. @.ft 3
  2220. ERRORS
  2221. @.ft 1
  2222. @.in 2
  2223. @.br
  2224. @.VL 15
  2225. @.LI "[EACCESS]"
  2226. Search permission is denied for a component of the
  2227. @.I path\^
  2228. prefix or read permission on the device file pointed to by
  2229. @.I path\^
  2230. is denied.
  2231. @.LI "[ENAMETOOLONG]"
  2232. The length of the
  2233. @.I path\^
  2234. string exceeds {PATH_MAX} or a pathname component is longer than
  2235. {NAME_MAX} while {_POSIX_NO_TRUNC} is in effect.
  2236. @.LI "[ENOENT]"
  2237. A component of
  2238. @.I path\^
  2239. does not exist or the
  2240. @.I path\^
  2241. argument points to an empty string.
  2242. @.LI "[ENOTDIR]"
  2243. A component of the
  2244. @.I path\^
  2245. prefix is not a directory.
  2246. @.LI "[EFAULT]"
  2247. The address of
  2248. @.I path,\^
  2249. @.I new_major,\^
  2250. or
  2251. @.I new_minor\^
  2252. is invalid.
  2253. @.LI "[EINVAL]"
  2254. The value of
  2255. @.I cmd\^
  2256. is invalid.
  2257. @.br
  2258. The argument
  2259. @.I path\^
  2260. points to a file/directory not within a CD-ROM file hierarchy.
  2261. @.br
  2262. The file pointed to by
  2263. @.I path\^
  2264. is not a device file.
  2265. @.LI "[EPERM]"
  2266. User does not have appropriate privileges to set/unset device file
  2267. major/minor values.
  2268. @.LI "[ENXIO]"
  2269. The CD-ROM is not in the drive or a read error occurred.
  2270. @.LI "[EINTR]"
  2271. A signal was caught during the 
  2272. @.I cd_setdevmap()\^
  2273. function.
  2274. @.LI "[EMFILE]"
  2275. {OPEN_MAX} file descriptors are currently open in the calling process.
  2276. @.LI "[ENFILE]"
  2277. The system file table is full.
  2278. @.LE
  2279. @.sp
  2280. @.in 0
  2281. @.ft 3
  2282. APPLICATION USAGE
  2283. @.ft 1
  2284. @.in 2
  2285. @.br
  2286. The use of
  2287. @.I cd_setdevmap()\^
  2288. is restricted to a user with appropriate privileges.
  2289. The maximum number of mappings is defined in
  2290. @.I <sys/cdrom.h>.\^
  2291. Mappings should be established before affected device files are used.
  2292. If this function is applied for device files that have already been opened,
  2293. the effect of this function on these files is undefined. 
  2294. The device file mappings for a mounted CD-ROM are eliminated when the 
  2295. CD-ROM is unmounted.
  2296. @.sp
  2297. @.in 0
  2298. @.ft 3
  2299. SEE ALSO
  2300. @.ft 1
  2301. @.in 2
  2302. @.br
  2303. <sys/cdrom.h>
  2304. @.sp
  2305. @.in 0
  2306. @.bp
  2307. @.sp
  2308. @.H 3 "cd_getdevmap library routine"
  2309. @.sp
  2310. @.in 0
  2311. @.ft 3
  2312. NAME
  2313. @.ft 1
  2314. @.in 2
  2315. @.br
  2316. @.ft 3
  2317. cd_getdevmap 
  2318. @.ft 1
  2319. - get mappings of major/minor numbers
  2320. @.sp
  2321. @.in 0
  2322. @.ft 3
  2323. SYNOPSIS
  2324. @.ft 1
  2325. @.in 2
  2326. @.ft 3
  2327. @.br
  2328. #include <sys/cdrom.h>
  2329. @.sp
  2330. int cd_getdevmap (path, pathlen, index, new_major, new_minor)
  2331. @.br
  2332. char    *path;
  2333. @.br
  2334. int    pathlen;
  2335. @.br
  2336. int    index;
  2337. @.br
  2338. int    *new_major;
  2339. @.br
  2340. int    *new_minor;
  2341. @.sp
  2342. @.ft 1
  2343. @.in 0
  2344. @.ft 3
  2345. DESCRIPTION
  2346. @.ft 1
  2347. @.in 2
  2348. @.br
  2349. This function gets
  2350. the major and minor numbers of one device file on a mounted CD-ROM.
  2351. The argument
  2352. @.I path\^
  2353. points to a file or directory within the CD-ROM file hierarchy.
  2354. The argument
  2355. @.I index\^
  2356. refers to the \f2index\f1'th mapped device file.
  2357. Mappings can be obtained by
  2358. @.I path\^
  2359. or 
  2360. @.I index.\^
  2361. @.sp
  2362. If 
  2363. @.I index\^
  2364. is zero, this function gets the mapped major and minor numbers
  2365. of the device file pointed to by
  2366. @.I path.\^
  2367. The value of the mapped major number shall be returned in
  2368. @.I new_major.\^
  2369. The value of the mapped minor number shall be returned in
  2370. @.I new_minor.\^
  2371. The value of
  2372. @.I pathlen\^
  2373. is not used.
  2374. @.sp
  2375. If 
  2376. @.I index\^
  2377. is not zero, this function gets the major and minor numbers
  2378. and pathname of the \f2index\f1'th mapped device file.
  2379. Numbering for
  2380. @.I index\^
  2381. starts at one.
  2382. The value of the mapped major number shall be returned in
  2383. @.I new_major.\^
  2384. The value of the mapped minor number shall be returned in
  2385. @.I new_minor.\^
  2386. The pathname of the device file shall be returned in
  2387. @.I path.\^
  2388. If the length of the pathname for the device file is longer than
  2389. @.I pathlen\^
  2390. the pathname returned in
  2391. @.I path\^
  2392. will be truncated to
  2393. @.I pathlen\^
  2394. length and will not be NULL terminated.
  2395. @.sp
  2396. See 
  2397. @.ft 3
  2398. Section 1.1, Mapping Device Files 
  2399. @.ft 1
  2400. for further information.
  2401. @.sp
  2402. @.in 0
  2403. @.ft 3
  2404. RETURN VALUE
  2405. @.ft 1
  2406. @.in 2
  2407. @.br
  2408. @.I cd_getdevmap\^
  2409. will return the length of pathname if the device file is 
  2410. successfully returned
  2411. (a return value of zero means mapping not found).
  2412. Note: if the pathname is truncated, the return value will be
  2413. larger than
  2414. @.I pathlen.\^
  2415. @.sp
  2416. In case of error, -1 is returned and
  2417. @.I errno\^
  2418. is set to indicate the error.
  2419. @.sp
  2420. @.in 0
  2421. @.ft 3
  2422. ERRORS
  2423. @.ft 1
  2424. @.in 2
  2425. @.br
  2426. @.VL 15
  2427. @.LI "[EACCESS]"
  2428. Search permission is denied for a component of the
  2429. @.I path\^
  2430. prefix or read permission on the device file pointed to by
  2431. @.I path\^
  2432. is denied.
  2433. @.LI "[ENAMETOOLONG]"
  2434. The length of the
  2435. @.I path\^
  2436. string exceeds {PATH_MAX} or a pathname component is longer than
  2437. {NAME_MAX} while {_POSIX_NO_TRUNC} is in effect.
  2438. @.LI "[ENOENT]"
  2439. A component of
  2440. @.I path\^
  2441. does not exist or the
  2442. @.I path\^
  2443. argument points to an empty string.
  2444. @.LI "[ENOTDIR]"
  2445. A component of the
  2446. @.I path\^
  2447. prefix is not a directory.
  2448. @.LI "[EFAULT]"
  2449. The address of
  2450. @.I path,\^
  2451. @.I new_major,\^
  2452. or
  2453. @.I new_minor\^
  2454. is invalid.
  2455. @.LI "[EINVAL]"
  2456. The value of
  2457. @.I index\^
  2458. or
  2459. @.I pathlen\^
  2460. is invalid.
  2461. @.br
  2462. The argument
  2463. @.I path\^
  2464. points to a file/directory not within a CD-ROM file hierarchy.
  2465. @.br
  2466. The file pointed to by
  2467. @.I path\^
  2468. is not a device file.
  2469. @.LI "[ENXIO]"
  2470. The CD-ROM is not in the drive or a read error occurred.
  2471. @.LI "[EINTR]"
  2472. A signal was caught during the 
  2473. @.I cd_getdevmap()\^
  2474. function.
  2475. @.LI "[EMFILE]"
  2476. {OPEN_MAX} file descriptors are currently open in the calling process.
  2477. @.LI "[ENFILE]"
  2478. The system file table is full.
  2479. @.LE
  2480. @.sp
  2481. @.in 0
  2482. @.ft 3
  2483. APPLICATION USAGE
  2484. @.ft 1
  2485. @.in 2
  2486. @.br
  2487. The maximum number of mappings is defined in
  2488. @.I <sys/cdrom.h>.\^
  2489. The device file mappings for a mounted CD-ROM are undone when the 
  2490. CD-ROM is unmounted.
  2491. @.sp
  2492. The
  2493. @.I index\^
  2494. numbers from 1 to
  2495. @.I n\^
  2496. (where
  2497. @.I n\^
  2498. is the number of the last device file mapping)
  2499. are always guaranteed to have a device file mapping associated
  2500. with the number.
  2501. Thus if an application wishes to successively delete all
  2502. device file mappings, one at a time, it would call 
  2503. @.I cd_getdevmap()\^
  2504. with
  2505. @.I index\^
  2506. equal to 1, and then
  2507. @.I cd_setdevmap()\^
  2508. with CD_UNSETDMAP in a loop until 
  2509. @.I cd_getdevmap()\^
  2510. returns zero.
  2511. @.sp
  2512. @.in 0
  2513. @.ft 3
  2514. SEE ALSO
  2515. @.ft 1
  2516. @.in 2
  2517. @.br
  2518. <sys/cdrom.h>
  2519. @.sp
  2520. @.in 0
  2521. @.bp
  2522. @EOF
  2523.  
  2524. chmod 644 api.lib.nr
  2525.  
  2526. echo x - api.end.nr
  2527. sed 's/^@//' >api.end.nr <<'@EOF'
  2528. @.sp
  2529. @.H 2 "Header"
  2530. @.sp
  2531. @.in 0
  2532. @.ft 3
  2533. NAME
  2534. @.ft 1
  2535. @.br
  2536. @.in 2
  2537. @.ft 3
  2538. cdrom.h 
  2539. @.ft 1
  2540. - RRIP definitions
  2541. @.sp
  2542. @.in 0
  2543. @.ft 3
  2544. SYNOPSIS
  2545. @.ft 1
  2546. @.in 2
  2547. @.ft 3
  2548. @.br
  2549. #include <sys/cdrom.h>
  2550. @.sp
  2551. @.ft 1
  2552. @.in 0
  2553. @.ft 3
  2554. DESCRIPTION
  2555. @.ft 1
  2556. @.in 2
  2557. @.br
  2558. The
  2559. @.I cdrom.h\^
  2560. header contains the RRIP constant definitions for the RRIP library functions.
  2561. If XCDR is supported, this header file will also contain
  2562. the XCDR constants and structure declarations for the XCDR library functions.
  2563. @.sp
  2564. The function
  2565. @.I cd_setdevmap()\^
  2566. uses the following values for the argument
  2567. @.I cmd:\^
  2568. @.sp
  2569. @.TS
  2570. center;
  2571. l l.
  2572. CD_SETDMAP    Set device file mapping
  2573. CD_UNSETDMAP    Unset device file mapping
  2574. @.TE
  2575. @.sp
  2576. If an implementation imposes a limit on the number of device file mappings,
  2577. they will be defined by the following symbolic name.
  2578. The definition of this symbolic name may be omitted from
  2579. @.I <sys/cdrom.h>\^
  2580. if the actual value of the limit is indeterminate but greater than
  2581. the stated minimum.
  2582. Applications should therefore only use this symbol in code
  2583. conditionally compiled on the existence of this symbol.
  2584. @.sp
  2585. @.TS
  2586. center;
  2587. l l.
  2588. Name    Minimum Acceptable Value
  2589. \_    \_
  2590. CD_MAXDMAP    50
  2591. @.TE
  2592. @.sp
  2593. @.sp
  2594. @.bp
  2595. @.sp
  2596. @.H 2 "Recommendations for CD-ROM Publishers"
  2597. @.sp
  2598. Unless the CD-ROM is targetted at a specific collection of systems, the
  2599. values for major and minor numbers of device files will not identify
  2600. the correct values on the receiving system. 
  2601. Also the range of values for device file major and minor numbers
  2602. that a system can handle might be smaller than what can be recorded
  2603. on the CD-ROM.
  2604. When producing a CD-ROM to be used on various systems, it is recommended 
  2605. that the publisher number the device major and minor numbers consecutively
  2606. starting at 0 and provide the System Administrator with sufficient
  2607. information to map each recorded major and minor number to the appropriate
  2608. values for the target system.
  2609. @.sp
  2610. @EOF
  2611.  
  2612. chmod 644 api.end.nr
  2613.  
  2614. echo x - bib.nr
  2615. sed 's/^@//' >bib.nr <<'@EOF'
  2616. @.sp
  2617. @.H 1 "BIBLIOGRAPHY"
  2618. @.sp
  2619. @.BL
  2620. @.LI
  2621. ISO 9660:1988 - Information Processing - Volume and file structure of
  2622. CD-ROM for information interchange
  2623. @.LI
  2624. IEEE Standard Portable Operating System Interface for Computer Environments,
  2625. IEEE std 1003.1-1988 (a.k.a POSIX Standard), New York, New York:IEEE
  2626. @.LI
  2627. X/Open CD-ROM Support Component (XCDR), Version 4.0 December 1990
  2628. @.LI
  2629. X/Open Portability Guide, Volume 3, XSI Supplementary Definitions,
  2630. Prentice Hall, 1989
  2631. @.LI
  2632. System Use Sharing Protocol, Rock Ridge Group
  2633. @.LI
  2634. Wong, T. September 12, 1989. Extensions to the ISO 9660 CD-ROM Volume
  2635. and File Structure Format to support POSIX File System Semantics.
  2636. @.LE
  2637. @EOF
  2638.  
  2639. chmod 644 bib.nr
  2640.  
  2641. echo x - TOC
  2642. sed 's/^@//' >TOC <<'@EOF'
  2643. @.TC 1 1 4
  2644. @EOF
  2645.  
  2646. chmod 644 TOC
  2647.  
  2648. exit 0
  2649.  
  2650.